home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO038B.dsk / SEL.bas < prev    next >
BASIC Source File  |  2012-02-16  |  10KB  |  251 lines

  1. 100  REM   SEL
  2. 110  GOTO 890
  3. 120  REM   INF
  4. 130  HCOLOR= F4: REM   HELMET
  5. 140  HPLOT XC +39,99 TO XC +42,99 TO XC +43,100 TO XC +38,100 TO XC +38,101 TO XC +43,101
  6. 150  HCOLOR= 3: REM   FACE
  7. 160  HPLOT XC +39,102 TO XC +42,102 TO XC +42,103 TO XC +39,103 TO XC +40,104 TO XC +41,104
  8. 170  HCOLOR= F4: REM   SHOULDERS
  9. 180  HPLOT XC +37,105 TO XC +44,105 TO XC +45,106 TO XC +36,106 TO XC +35,107 TO XC +46,107 TO XC +47,108 TO XC +34,108 TO XC +33,109 TO XC +48,109
  10. 190  HPLOT XC +48,110 TO XC +38,110: HPLOT XC +35,110 TO XC +32,110: HPLOT XC +33,112 TO XC +34,112 TO XC +34,113 TO XC +37,113: HPLOT XC +44,112 TO XC +46,111 TO XC +44,111
  11. 200  HPLOT XC +40,116 TO XC +40,119 TO XC +39,121 TO XC +39,116 TO XC +38,123 TO XC +38,113 TO XC +37,113 TO XC +37,129 TO XC +36,129 TO XC +36,119
  12. 210  HPLOT XC +35,123 TO XC +35,130 TO XC +33,130 TO XC +40,119
  13. 220  HPLOT XC +41,113 TO XC +41,123 TO XC +42,112 TO XC +42,130 TO XC +43,131 TO XC +43,112 TO XC +44,113 TO XC +44,131 TO XC +47,131 TO XC +45,130 TO XC +45,114
  14. 230  IF F4 = 6  THEN  RETURN 
  15. 240  HCOLOR= 0
  16. 250  HPLOT XC +41,105 TO XC +43,105: HPLOT XC +40,107 TO XC +42,107: HPLOT XC +39,109 TO XC +41,109
  17. 260  HCOLOR= F4
  18. 270  RETURN 
  19. 280  REM   ARM
  20. 290  IF P >5  THEN E = (P -5) *30 +10:F = 60: GOTO 550
  21. 300  HCOLOR= F4
  22. 310  HPLOT E -6,F -2 TO E +6,F -2: HPLOT E -6,F -1 TO E +7,F -1: HPLOT E -6,F TO E +24,F: HPLOT E -6,F +1 TO E +9,F +1: HPLOT E -6,F +2 TO E +10,F +2
  23. 320  HPLOT E -1,F +3 TO E +8,F +3: HPLOT E -13,F +4 TO E +22,F +4: HPLOT E -13,F +5 TO E +22,F +5: HPLOT E -13,F +6 TO E +22,F +6: HPLOT E -13,F +7 TO E +22,F +7
  24. 330  HPLOT E -8,F +9 TO E -7,F +9 TO E -7,F +10 TO E -8,F +10: HPLOT E -1,F +9 TO E,F +9 TO E,F +10 TO E -1,F +10: HPLOT E +10,F +9 TO E +11,F +9 TO E +11,F +10
  25. 340  HPLOT E +10,F +10: HPLOT E +17,F +9 TO E +18,F +9 TO E +18,F +10 TO E +17,F +10
  26. 350  IF F4 = 6  THEN 390
  27. 360  HCOLOR= 0
  28. 370  HPLOT E +1,F -1 TO E +2,F -1: HPLOT E +3,F +2 TO E +1,F TO E +3,F: HPLOT E,F +2 TO E +2,F TO E,F
  29. 380  HPLOT E,F -1: HPLOT E +1,F +2: HPLOT E +1,F
  30. 390  HCOLOR= 3
  31. 400  HPLOT E -12,F +8 TO E -9,F +11 TO E +18,F +11 TO E +21,F +8
  32. 410  RETURN 
  33. 420  REM   APC
  34. 430  IF P >5  THEN E = (P -5) *30 +10:F = 60: GOTO 620
  35. 440  HCOLOR= F4
  36. 450  HPLOT E +14,F -2 TO E -5,F -2 TO E -6,F -1 TO E +14,F -1 TO E +14,F TO E -7,F TO E -8,F +1 TO E +14,F +1 TO E +14,F +2 TO E -9,F +2
  37. 460  HPLOT E -10,F +3 TO E +14,F +3 TO E +14,F +4 TO E -11,F +4 TO E -11,F +5 TO E +15,F +5
  38. 470  IF F4 = 6  THEN  GOTO 510
  39. 480  HCOLOR= 0
  40. 490  HPLOT E +1,F -2 TO E +2,F -2: HPLOT E -2,F -1 TO E +5,F -1: HPLOT E,F TO E +3,F: HPLOT E -1,F +3 TO E +2,F: HPLOT E +4,F +3 TO E +1,F
  41. 500  HPLOT E +1,F -1 TO E +1,F +1 TO E +2,F +2
  42. 510  HCOLOR= 3
  43. 520  HPLOT E -10,F +6 TO E -8,F +8 TO E +12,F +8 TO E +14,F +6: HPLOT E -7,F +7: HPLOT E -3,F +7: HPLOT E +1,F +7: HPLOT E +5,F +7: HPLOT E +9,F +7
  44. 530  HPLOT E -2,F -3 TO E,F -3 TO E,F -4 TO E -6,F -4
  45. 540  RETURN 
  46. 550  REM   ARM
  47. 560  HCOLOR= F4
  48. 570  HPLOT E -2,F -2 TO E +3,F -2: HPLOT E -2,F -1 TO E +14,F -1: HPLOT E -2,F TO E +5,F: HPLOT E,F +1 TO E +6,F +1
  49. 580  HPLOT E -7,F +2 TO E +11,F +2 TO E +11,F +3 TO E -7,F +3
  50. 590  HCOLOR= 3
  51. 600  HPLOT E -5,F +4: HPLOT E +10,F +4: HPLOT E -4,F +5 TO E +9,F +5
  52. 610  RETURN 
  53. 620  REM   APC
  54. 630  HCOLOR= F4
  55. 640  HPLOT E +2,F -2 TO E +14,F -2 TO E +14,F -1 TO E +1,F -1
  56. 650  HPLOT E,F TO E +14,F TO E +14,F +1 TO E -1,F +1 TO E -2,F +2 TO E +14,F +2: HPLOT E,F TO E -3,F +4 TO E -2,F +4 TO E -2,F +3
  57. 660  HCOLOR= 3
  58. 670  HPLOT E -1,F +3 TO E -1,F +5 TO E,F +6 TO E +12,F +6 TO E +14,F +4 TO E +14,F +3 TO E -1,F +3
  59. 680  RETURN 
  60. 690  REM   X
  61. 700  HCOLOR= F4: REM   DRAW SP
  62. 705  IF P >5  THEN E = (P -5) *30 +20:F = 64: GOTO 840
  63. 710  HPLOT E -17,F -3 TO E -17,F -1 TO E -16,F -1 TO E -16,F -3 TO E -15,F -2 TO E -18,F -2
  64. 720  HPLOT E -11,F -3 TO E -11,F -1 TO E -10,F -1 TO E -10,F -3 TO E -9,F -2 TO E -12,F -2
  65. 730  HPLOT E -5,F -3 TO E -5,F -1 TO E -4,F -1 TO E -4,F -3 TO E -3,F -2 TO E -6,F -2
  66. 740  HPLOT E +1,F -3 TO E +1,F -1 TO E +2,F -1 TO E +2,F -3 TO E +3,F -2 TO E -1,F -2
  67. 750  HPLOT E +8,F -5 TO E -24,F -5 TO E -24,F -6 TO E +8,F -6 TO E +8,F -7 TO E -23,F -7 TO E -22,F -8 TO E +7,F -8
  68. 760  HPLOT E +2,F -9 TO E -7,F -9 TO E -7,F -10 TO E +2,F -10 TO E +2,F -11 TO E -5,F -11 TO E -5,F -12 TO E +2,F -12 TO E +2,F -13 TO E -5,F -13
  69. 770  HCOLOR= 3
  70. 780  HPLOT E -23,F -4 TO E -17,F TO E +2,F TO E +6,F -4
  71. 790  HPLOT E -5,F -12 TO E -22,F -20 TO E -5,F -12 TO E -5,F -11 TO E -22,F -19
  72. 800  IF F4 = 6  THEN  RETURN 
  73. 810  HCOLOR= 0
  74. 820  HPLOT E -1,F -12 TO E -1,F -10: HPLOT E -3,F -11 TO E +1,F -11: HPLOT E -2,F -9 TO E,F -11: HPLOT E,F -9 TO E -2,F -11
  75. 830  RETURN 
  76. 840  HCOLOR= F4: REM   DIST SP
  77. 845  HPLOT E -16,F -2 TO E -16,F -1 TO E -15,F -1 TO E -15,F -2: HPLOT E -12,F -2 TO E -12,F -1 TO E -11,F -1 TO E -11,F -2
  78. 848  HPLOT E -8,F -2 TO E -8,F -1 TO E -7,F -1 TO E -7,F -2: HPLOT E -4,F -2 TO E -4,F -1 TO E -3,F -1 TO E -3,F -2
  79. 850  HPLOT E -20,F -3 TO E,F -3 TO E -1,F -4 TO E -19,F -4: HPLOT E -3,F -5 TO E -7,F -5 TO E -7,F -6 TO E -3,F -6 TO E -3,F -7 TO E -7,F -7
  80. 860  HCOLOR= 3
  81. 870  HPLOT E -19,F -2 TO E -16,F TO E -3,F TO E -1,F -2: HPLOT E -7,F -7 TO E -18,F -11
  82. 880  RETURN 
  83. 890  REM   INIT
  84. 900  FOR I = 1 TO 10
  85. 910 PA(I,1) = 1
  86. 920 PB(I,1) = 1
  87. 930  NEXT I
  88. 940  HOME 
  89. 950  PRINT "FIRST PLAYER: ENTER ANY NUMBER"
  90. 960  INPUT X
  91. 970  HOME 
  92. 980  PRINT "SELECT UNIT TYPE"
  93. 990  PRINT 
  94. 1000  CALL 768
  95. 1010  PRINT "1 = INFANTRY"
  96. 1020  PRINT "2 = TANK"
  97. 1030  PRINT "3 = PERSONNEL CARRIER"
  98. 1040  PRINT "4 = LEADER"
  99. 1050  PRINT "5 = ARTILLERY"
  100. 1060  PRINT : PRINT : POKE 34,9
  101. 1070  REM   FIRST PLAYER
  102. 1080  FOR N = 1 TO 10
  103. 1090  PRINT "UNIT # ";N;" TYPE = ": INPUT TYPE
  104. 1100  IF TYPE <1  OR TYPE >5  THEN 1090
  105. 1110 PA(N,6) = TYPE
  106. 1120 PA(N,0) = N: REM   UNIT #
  107. 1130  REM   SET MORALE,MOB,AMMO
  108. 1140  ON TYPE GOSUB 1620,1680,1740,1780,1840
  109. 1150  NEXT N
  110. 1160  GOSUB 2260
  111. 1170  IF CT < >0  THEN  GOTO 2220
  112. 1180  GOTO 1480
  113. 1190  REM   SECOND PLAYER
  114. 1195  PRINT : PRINT : POKE 34,9
  115. 1200  FOR N = 1 TO 10
  116. 1210  PRINT "UNIT # ";N;" TYPE = ": INPUT TYPE
  117. 1220  IF TYPE <1  OR TYPE >5  THEN 1210
  118. 1230 PB(N,6) = TYPE
  119. 1240 PB(N,0) = N: REM   UNIT #
  120. 1250  ON TYPE GOSUB 1920,1980,2040,2080,2140
  121. 1260  NEXT N
  122. 1270  GOSUB 2390
  123. 1280  TEXT : HOME 
  124. 1285  POKE 34,0
  125. 1290  PRINT "WHICH SCENARIO WILL YOU PLAY ?
  126. 1300  PRINT 
  127. 1310  PRINT 
  128. 1320  PRINT "1 = THE AMBUSH. FIRST PLAYER'S UNITS,"
  129. 1330  PRINT "IN THE NORTH WEST CORNER OF THE MAP,"
  130. 1340  PRINT "ASSAULT THE SECOND PLAYER'S UNITS, "
  131. 1350  PRINT "WHICH ARE TO THE SOUTH."
  132. 1360  PRINT 
  133. 1370  PRINT "2 = THE MEETING ENGAGEMENT.  THE FIRST"
  134. 1380  PRINT "PLAYER'S UNITS ENTER ALONG THE WEST"
  135. 1390  PRINT "MAP EDGE; THE SECOND PLAYER'S UNITS"
  136. 1400  PRINT "ENTER ALONG THE EAST EDGE. EACH"
  137. 1410  PRINT "PLAYER SHOULD TRY TO FIGHT THE BATTLE"
  138. 1420  PRINT "ON THE OTHER PLAYER'S SIDE OF THE MAP."
  139. 1430  PRINT 
  140. 1440  PRINT "3 = THE BREAKOUT. THE FIRST PLAYER'S"
  141. 1450  PRINT "UNITS ARE IN THE MIDDLE OF THE MAP,"
  142. 1460  PRINT "SURROUNDED BY THE SECOND PLAYER'S UNITS."
  143. 1470  GOTO 2220
  144. 1480  REM   UNIT TYPES FOR 2ND PLAYER
  145. 1490  TEXT : HOME 
  146. 1500  CALL  -198
  147. 1510  PRINT "SECOND PLAYER: ENTER ANY NUMBER"
  148. 1520  INPUT X
  149. 1530  HOME 
  150. 1540  CALL 768
  151. 1550  PRINT "SELECT UNIT TYPES"
  152. 1560  PRINT 
  153. 1570  PRINT "1 = INFANTRY"
  154. 1580  PRINT "2 = TANK"
  155. 1590  PRINT "3 = PERSONNEL CARRIER"
  156. 1600  PRINT "4 = LEADER"
  157. 1605  PRINT "5 = ARTILLERY"
  158. 1610  GOTO 1195
  159. 1620  REM   INFANTRY
  160. 1630 PA(N,3) = 2: REM   MOBILITY
  161. 1640 PA(N,2) = 2
  162. 1650 PA(N,8) = 60: REM   EXTRA AMMO
  163. 1660 PA(N,7) = 20:PA(N,10) = 1
  164. 1665 PA(N,11) = 1: REM   MINES
  165. 1670  RETURN 
  166. 1680  REM   ARMOR
  167. 1690 PA(N,3) = 6
  168. 1700 PA(N,8) = 1
  169. 1710 PA(N,2) = 2
  170. 1720 PA(N,9) = 20:PA(N,10) = 20
  171. 1730  RETURN 
  172. 1740  REM   APC
  173. 1750 PA(N,3) = 6
  174. 1760 PA(N,2) = 2
  175. 1770  RETURN 
  176. 1780  REM   LEADER
  177. 1790 PA(N,7) = 20
  178. 1800 PA(N,3) = 2
  179. 1810 PA(N,8) = 60
  180. 1820 PA(N,2) = 6
  181. 1830  RETURN 
  182. 1840  REM   SP ARTY
  183. 1850 PA(N,2) = 2
  184. 1860 PA(N,9) = 40
  185. 1870 PA(N,10) = 40
  186. 1880 PA(N,3) = 4
  187. 1890 PA(N,8) = 2
  188. 1900 PA(N,5) = 0
  189. 1910  RETURN 
  190. 1920  REM   2ND PLAYER'S INFANTRY
  191. 1930 PB(N,3) = 2
  192. 1940 PB(N,8) = 60: REM   EXTRA AMMO
  193. 1950 PB(N,2) = 2
  194. 1960 PB(N,7) = 20:PB(N,10) = 1
  195. 1965 PB(N,11) = 1
  196. 1970  RETURN 
  197. 1980  REM   ARMOR
  198. 1990 PB(N,3) = 6
  199. 2000 PB(N,2) = 2
  200. 2010 PB(N,8) = 1
  201. 2020 PB(N,9) = 20:PB(N,10) = 20
  202. 2030  RETURN 
  203. 2040  REM   APC
  204. 2050 PB(N,3) = 6
  205. 2060 PB(N,2) = 2
  206. 2070  RETURN 
  207. 2080  REM   LEADER
  208. 2090 PB(N,7) = 20
  209. 2100 PB(N,3) = 2
  210. 2110 PB(N,8) = 60
  211. 2120 PB(N,2) = 6
  212. 2130  RETURN 
  213. 2140  REM   SP ARTY
  214. 2150 PB(N,2) = 2
  215. 2160 PB(N,9) = 40
  216. 2170 PB(N,10) = 40
  217. 2180 PB(N,3) = 4
  218. 2190 PB(N,8) = 2
  219. 2200 PB(N,5) = 0
  220. 2210  RETURN 
  221. 2220  REM   LOAD MAP DATA
  222. 2230 HX%(0,1) = 4: REM   OFF MAP
  223. 2240 GO = 4
  224. 2242  POKE 103,1: POKE 104,64: POKE 16384,0
  225. 2250  PRINT D$;"CHAIN INIT"
  226. 2260  REM   DRAW FORCES
  227. 2270  HGR : POKE 49234,1
  228. 2280 F4 = 1
  229. 2290  FOR N = 1 TO 10
  230. 2300  IF PA(N,6) = 1  THEN XC = B *20:B = B +1: GOSUB 120
  231. 2310  IF PA(N,6) = 2  THEN E = 30 +(P *40):F = 80:P = P +1: GOSUB 280
  232. 2320  IF PA(N,6) = 3  THEN E = 30 +(P *40):F = 80:P = P +1: GOSUB 420
  233. 2330  IF PA(N,6) = 4  THEN TU = TU +1:XC = 200 -(TU *20): GOSUB 120
  234. 2340  IF PA(N,6) = 5  THEN E = 30 +(P *40) +10:F = 88:P = P +1: GOSUB 700
  235. 2350  NEXT N
  236. 2360  FOR TM = 1 TO 800: NEXT TM
  237. 2370 XC = 0:E = 0:F = 0:P = 0:TU = 0:B = 0
  238. 2380  RETURN 
  239. 2390  REM   DRAW PL2 FORCES
  240. 2400  HGR : POKE 49234,1
  241. 2410 F4 = 6
  242. 2420  FOR N = 1 TO 10
  243. 2430  IF PB(N,6) = 1  THEN XC = B *20:B = B +1: GOSUB 120
  244. 2440  IF PB(N,6) = 2  THEN E = 30 +(P *40):F = 80:P = P +1: GOSUB 280
  245. 2450  IF PB(N,6) = 3  THEN E = 30 +(P *40):F = 80:P = P +1: GOSUB 420
  246. 2460  IF PB(N,6) = 4  THEN TU = TU +1:XC = 200 -(TU *20): GOSUB 120
  247. 2465  IF PB(N,6) = 5  THEN E = 30 +(P *40) +10:F = 88:P = P +1: GOSUB 700
  248. 2470  NEXT N
  249. 2480  FOR TM = 1 TO 800: NEXT TM
  250. 2490 XC = 0:E = 0:F = 0:P = 0:TU = 0:B = 0
  251. 2500  RETURN